package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixing.mall.core.support.auth.SysAuth;
import com.weixing.mall.provider.model.domain.InDepotBill;
import com.weixing.mall.provider.model.dto.APPDepotDto;
import com.weixing.mall.provider.model.dto.InDepotBillDto;
import com.weixing.mall.provider.model.dto.InDepotChgIsFinishDto;
import com.weixing.mall.provider.model.query.DepotBillDetilQuery;
import com.weixing.mall.provider.model.query.InDepotBillQuery;
import com.weixing.mall.provider.model.vo.InDepotBillVo;

/**
 * <p>
 * 仓库模块-入库单 服务类
 * </p>
 *
 * @author Small
 * @since 2019-11-15
 */
public interface IInDepotBillService extends IService<InDepotBill> {

    IPage selectOfPage(Page page, InDepotBillQuery inDepotBillQuery);

    long save(InDepotBillDto inDepotBillDto, Long uid);

    void inDepotChgIsFinish(InDepotChgIsFinishDto inDepotChgIsFinishDto);

    IPage getInDepotBillDetilList(Page page, DepotBillDetilQuery depotBillDetilQuery);

    InDepotBillVo getInDepotBillById(Long id);

    void appSave(APPDepotDto aPPDepotDto, SysAuth auth);

    InDepotBillVo findMaxId();

    Long saveAndAudit(InDepotBillDto inDepotBillDto, Long uid);

    String getInBillSn(String value);

    String depotStockSn(Long  orderId,String serialNumber,String stockSn);

}
